package com.probiz.estore.common.model.system.base;

import java.io.Serializable;
import com.probiz.estore.core.model.BaseObject;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;

/**
 * SelfCollectionCentre Base Java Bean, base class for the model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 */
public class SelfCollectionCentreTbl extends BaseObject implements Serializable {

    protected Integer selfCollectionCentreId;
	protected String selfCollectionCentreName;
	protected String description;
	protected String address;
	protected Integer regionId;
	protected String regionFullName;
	protected Integer sortOrder;
	protected Short status;
	protected java.util.Date createTime;
	protected java.util.Date updateTime;
	protected Integer version;

	/**
	 * Default Empty Constructor for class SelfCollectionCentre
	 */
	public SelfCollectionCentreTbl () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class SelfCollectionCentre
	 */
	public SelfCollectionCentreTbl (
		 Integer in_selfCollectionCentreId
        ) {
		this.setSelfCollectionCentreId(in_selfCollectionCentreId);
    }

    

	/**
	 * 自增的唯一标识	 * @return Integer
     * @hibernate.id column="selfCollectionCentreId" type="java.lang.Integer" generator-class="native"
	 */
	public Integer getSelfCollectionCentreId() {
		return this.selfCollectionCentreId;
	}
	
	/**
	 * Set the selfCollectionCentreId
	 */	
	public void setSelfCollectionCentreId(Integer aValue) {
		this.selfCollectionCentreId = aValue;
	}	

	/**
	 * 提货中心名称	 * @return String
	 * @hibernate.property column="selfCollectionCentreName" type="java.lang.String" length="50" not-null="true" unique="false"
	 */
	public String getSelfCollectionCentreName() {
		return this.selfCollectionCentreName;
	}
	
	/**
	 * Set the selfCollectionCentreName
	 * @spring.validator type="required"
	 */	
	public void setSelfCollectionCentreName(String aValue) {
		this.selfCollectionCentreName = aValue;
	}	

	/**
	 * 描述	 * @return String
	 * @hibernate.property column="description" type="java.lang.String" length="1024" not-null="false" unique="false"
	 */
	public String getDescription() {
		return this.description;
	}
	
	/**
	 * Set the description
	 */	
	public void setDescription(String aValue) {
		this.description = aValue;
	}	


	/**
	 * 详细地址	 * @return String
	 * @hibernate.property column="address" type="java.lang.String" length="200" not-null="true" unique="false"
	 */
	public String getAddress() {
		return this.address;
	}
	
	/**
	 * Set the address
	 * @spring.validator type="required"
	 */	
	public void setAddress(String aValue) {
		this.address = aValue;
	}	
	
	

	public Integer getRegionId() {
		return regionId;
	}

	public void setRegionId(Integer regionId) {
		this.regionId = regionId;
	}

	public String getRegionFullName() {
		return regionFullName;
	}

	public void setRegionFullName(String regionFullName) {
		this.regionFullName = regionFullName;
	}

	/**
	 * 排序	 * @return Integer
	 * @hibernate.property column="sortOrder" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getSortOrder() {
		return this.sortOrder;
	}
	
	/**
	 * Set the sortOrder
	 */	
	public void setSortOrder(Integer aValue) {
		this.sortOrder = aValue;
	}	

	/**
	 * 状态	 * @return Short
	 * @hibernate.property column="status" type="java.lang.Short" length="5" not-null="false" unique="false"
	 */
	public Short getStatus() {
		return this.status;
	}
	
	/**
	 * Set the status
	 */	
	public void setStatus(Short aValue) {
		this.status = aValue;
	}	

	/**
	 * 创建时间	 * @return java.util.Date
	 * @hibernate.property column="createTime" type="java.util.Date" length="19" not-null="true" unique="false"
	 */
	public java.util.Date getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * Set the createTime
	 * @spring.validator type="required"
	 */	
	public void setCreateTime(java.util.Date aValue) {
		this.createTime = aValue;
	}	

	/**
	 * 更新时间	 * @return java.util.Date
	 * @hibernate.property column="updateTime" type="java.util.Date" length="19" not-null="true" unique="false"
	 */
	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}
	
	/**
	 * Set the updateTime
	 * @spring.validator type="required"
	 */	
	public void setUpdateTime(java.util.Date aValue) {
		this.updateTime = aValue;
	}	

	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof SelfCollectionCentreTbl)) {
			return false;
		}
		SelfCollectionCentreTbl rhs = (SelfCollectionCentreTbl) object;
		return new EqualsBuilder()
				.append(this.selfCollectionCentreId, rhs.selfCollectionCentreId)
				.append(this.selfCollectionCentreName, rhs.selfCollectionCentreName)
				.append(this.description, rhs.description)
				.append(this.address, rhs.address)
				.append(this.sortOrder, rhs.sortOrder)
				.append(this.status, rhs.status)
				.append(this.createTime, rhs.createTime)
				.append(this.updateTime, rhs.updateTime)
				.isEquals();
	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-82280557, -700257973)
				.append(this.selfCollectionCentreId) 
				.append(this.selfCollectionCentreName) 
				.append(this.description) 
				.append(this.address) 
				.append(this.sortOrder) 
				.append(this.status) 
				.append(this.createTime) 
				.append(this.updateTime) 
				.toHashCode();
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this)
				.append("selfCollectionCentreId", this.selfCollectionCentreId) 
				.append("selfCollectionCentreName", this.selfCollectionCentreName) 
				.append("description", this.description) 
				.append("address", this.address) 
				.append("sortOrder", this.sortOrder) 
				.append("status", this.status) 
				.append("createTime", this.createTime) 
				.append("updateTime", this.updateTime) 
				.toString();
	}

	/**
	 * Return the name of the first key column
	 */
	public String getFirstKeyColumnName() {
		return "selfCollectionCentreId";
	}
	/**
	 * Return the Id (pk) of the entity, must be Integer
	 */
	public Integer getId() {
		return selfCollectionCentreId;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

}